* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: auto;
  overflow: auto;
}

table {
  border-collapse: collapse;
  table-layout: fixed;
  overflow: scroll
}

th,
tr td:first-of-type {
  background-color: #eee;
  border: none;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
}

tr th:first-of-type {
  min-width: 60px;
}

td:not(:first-of-type) {
  border: 1px solid #ccc;
  height: 1.5em;
  min-width: 150px;
  overflow: hidden;
}

td .cell_text,
td .cell_inp {
  width: 100%;
  min-height: 100%;
  padding: 2px;
  font-size: 14px;
}

td .cell_inp {
  display: none;
}
